#ifndef SPRITEMANAGER_H
#define SPRITEMANAGER_H

#include <SFML/Graphics.hpp>
#include <SFML/System.hpp>
#include <vector>
#include "Player.h"

class SpriteManager
{
public:
    static SpriteManager& getInstance()
    {
        static SpriteManager instance;
        return instance;
    }

    bool init();
    std::vector<sf::Sprite> getSpriteList();
    void addSprite(sf::Sprite& sprite);
    bool prepareSprite(sf::Sprite& sprite, sf::Image& image,
                       sf::Texture& texture, const char* fName, int width,
                       int height, float positionX, float positionY);
    void updatePlayer(Player& player, sf::Texture texture);

private:
    SpriteManager();
    SpriteManager(SpriteManager const&);
    void operator=(SpriteManager const&);
    std::vector<sf::Sprite> _lstSprite;

};

#endif
